package com.xbongbong.paas.pojo.vo;

import com.xbongbong.paas.toolbox.wrap.BaseVO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * @author youli.chen
 * @version v1.0
 * @description: 获取公司在该平台的公司信息回参
 * @date 2019/2/18 14:38
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class CallCenterOrgGetByCorpIdVO extends BaseVO {

    /**
     * 主键
     */
    private Long id;
    /**
     * 公司ID
     */
    private String corpid;
    /**
     * 第三方话务中心方面维护的企业id
     */
    private String orgId;
    /**
     * 微应用信息，参考AppStoreTypeEnum
     */
    private Integer moduleType;
    /**
     * 第三方话务中心方面维护的企业名称
     */
    private String name;
    /**
     * 第三方话务中心方面维护的企业别名
     */
    private String alias;
    /**
     * 统一信用代码
     */
    private String registerId;
    /**
     * 第三方话务中心方面维护的企业的apikey
     */
    private String apikey;
    /**
     * 预充值余额
     */
    private BigDecimal balance;
    /**
     * 可用坐席总数
     */
    private Integer maxAgentNum;
    /**
     * 当月已经扣费的坐席的数量
     */
    private Integer paidAgentNum;
    /**
     * 是否允许使用语音转写功能
     */
    private Boolean isAudioTranslate;

    /**
     * youli.chen
     * 接入方案：1-平台固话线路、2-客户固话线路、3-客户手机线路
     *
     * @return
     */
    private Integer platformLine;

    /**
     * youli.chen
     * 第三方结算坐席单价：平台结算-30元/月/坐席，客户结算-50元/月/坐席
     */
    private String unitPrice;

    /**
     * youli.chen
     * 销帮帮呼叫中心注册的坐席数
     *
     * @return
     */
    private Integer xbbAgentNum;

    /**
     * youli.chen
     * 销帮帮呼叫中心通话录音文件有效时间：默认保存1年
     *
     * @return
     */
    private Integer usefulTime;

    /**
     * youli.chen
     * 销帮帮呼叫中心套餐开始生效时间
     */
    private Integer startTime;

    /**
     * youli.chen
     * 销帮帮呼叫中心套餐结束失效时间
     */
    private Integer endTime;

    /**
     * 是否开启防封号规则付费业务，0:关闭；1:开启
     */
    private Boolean callBlockRule;

    /**
     * 防封号规则付费业务开始时间
     */
    private Integer callBlockStarTime;

    /**
     * 防封号付费规则业务结束时间
     */
    private Integer callBlockEndTime;

    /**
     * 创建时间
     */
    private Integer addTime;
    /**
     * 更新时间
     */
    private Integer updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    /**
     * 非持久层字段
     * 话务中心是否开启
     */
    private Boolean isModuleActive;
    /**
     * 非持久层字段
     * 话务中心平台名称
     */
    private String moduleName;
    /**
     * 非持久层字段
     * 开通时间，从ModuleEntity读取
     */
    private Integer subscriptionTime;
    /**
     * 非持久层字段
     * 当前坐席数，通过缓存或callCenterAccount获取
     */
    private Integer agentNum;
    /**
     * 非持久层字段
     * 本月公司通话时长，分钟
     */
    private Integer sumMonthlyCallDuration;
    /**
     * 非持久层字段
     * 公司总通话时长，分钟
     */
    private Integer sumCallDuration;
    /**
     * 非持久层字段
     * 最后通话时间，年月日 时分秒
     */
    private String lastCallTime;
    /**
     * 非持久层字段
     * admin项目用于显示操作按钮
     */
    private String operate;
    /**
     * 非持久层字段
     * 用于前端显示坐席价格
     */
    private String agentPrice;
    /**
     * 用于前端显示的金额（保留两位小数）
     * 非持久层字段
     */
    private String balanceShow;
    /**
     * 当前月欠费
     * 非持久层字段
     */
    private String arrearage;


    public BigDecimal getBalance() {
        if (balance == null) {
            return new BigDecimal(0);
        }
        return balance;
    }

    public Integer getPaidAgentNum() {
        if (paidAgentNum == null) {
            return 0;
        }
        return paidAgentNum;
    }
}
